home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))
-
-
-
- NNNNAAAAMMMMEEEE
- XtCreateWidget, XtVaCreateWidget, XtCreateManagedWidget,
- XtVaCreateManagedWidget, XtDestroyWidget - create and
- destroy widgets
-
- SSSSYYYYNNNNTTTTAAAAXXXX
- Widget XtCreateWidget(_n_a_m_e, _w_i_d_g_e_t__c_l_a_s_s, _p_a_r_e_n_t, _a_r_g_s,
- _n_u_m__a_r_g_s)
- String _n_a_m_e;
- WidgetClass _w_i_d_g_e_t__c_l_a_s_s;
- Widget _p_a_r_e_n_t;
- ArgList _a_r_g_s;
- Cardinal _n_u_m__a_r_g_s;
-
- Widget XtVaCreateWidget(_n_a_m_e, _w_i_d_g_e_t__c_l_a_s_s, _p_a_r_e_n_t, ...)
- String _n_a_m_e;
- WidgetClass _w_i_d_g_e_t__c_l_a_s_s;
- Widget _p_a_r_e_n_t;
-
- Widget XtCreateManagedWidget(_n_a_m_e, _w_i_d_g_e_t__c_l_a_s_s, _p_a_r_e_n_t,
- _a_r_g_s, _n_u_m__a_r_g_s)
- String _n_a_m_e;
- WidgetClass _w_i_d_g_e_t__c_l_a_s_s;
- Widget _p_a_r_e_n_t;
- ArgList _a_r_g_s;
- Cardinal _n_u_m__a_r_g_s;
-
- Widget XtVaCreateManagedWidget(_n_a_m_e, _w_i_d_g_e_t__c_l_a_s_s, _p_a_r_e_n_t,
- ...)
- String _n_a_m_e;
- WidgetClass _w_i_d_g_e_t__c_l_a_s_s;
- Widget _p_a_r_e_n_t;
-
- void XtDestroyWidget(_w)
- Widget _w;
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- _a_r_g_s Specifies the argument list to override the
- resource defaults.
-
- _n_a_m_e Specifies the resource name for the created
- widget, which is used for retrieving resources
- and, for that reason, should not be the same as
- any other widget that is a child of same parent.
-
- _n_u_m__a_r_g_s Specifies the number of arguments in the argument
- list.
-
- _p_a_r_e_n_t Specifies the parent widget.
-
- _w Specifies the widget.
-
-
-
-
- Page 1 (printed 10/3/02)
-
-
-
-
-
-
- XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))
-
-
-
- _w_i_d_g_e_t__c_l_a_s_s
- Specifies the widget class pointer for the created
- widget.
-
- ... Specifies the variable argument list to override
- the resource defaults.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _X_t_C_r_e_a_t_e_W_i_d_g_e_t function performs much of the boilerplate
- operations of widget creation:
-
- +o Checks to see if the class_initialize procedure has
- been called for this class and for all superclasses
- and, if not, calls those necessary in a superclass-to-
- subclass order.
-
- +o Allocates memory for the widget instance.
-
- +o If the parent is a subclass of _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s,
- it allocates memory for the parent's constraints and
- stores the address of this memory into the constraints
- field.
-
- +o Initializes the core nonresource data fields (for
- example, parent and visible).
-
- +o Initializes the resource fields (for example,
- background_pixel) by using the resource lists specified
- for this class and all superclasses.
-
- +o If the parent is a subclass of _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s,
- it initializes the resource fields of the constraints
- record by using the constraint resource list specified
- for the parent's class and all superclasses up to
- _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s.
-
- +o Calls the initialize procedures for the widget by
- starting at the _C_o_r_e initialize procedure on down to
- the widget's initialize procedure.
-
- +o If the parent is a subclass of _c_o_m_p_o_s_i_t_e_W_i_d_g_e_t_C_l_a_s_s, it
- puts the widget into its parent's children list by
- calling its parent's insert_child procedure. For
- further information, see Section 3.5.
-
- +o If the parent is a subclass of _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s,
- it calls the constraint initialize procedures, starting
- at _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s on down to the parent's
- constraint initialize procedure.
-
- Note that you can determine the number of arguments in an
- argument list by using the _X_t_N_u_m_b_e_r macro. For further
-
-
-
- Page 2 (printed 10/3/02)
-
-
-
-
-
-
- XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))
-
-
-
- information, see Section 11.1.
-
- The _X_t_C_r_e_a_t_e_M_a_n_a_g_e_d_W_i_d_g_e_t function is a convenience routine
- that calls _X_t_C_r_e_a_t_e_W_i_d_g_e_t and _X_t_M_a_n_a_g_e_C_h_i_l_d.
-
- The _X_t_D_e_s_t_r_o_y_W_i_d_g_e_t function provides the only method of
- destroying a widget, including widgets that need to destroy
- themselves. It can be called at any time, including from an
- application callback routine of the widget being destroyed.
- This requires a two-phase destroy process in order to avoid
- dangling references to destroyed widgets.
-
- In phase one, _X_t_D_e_s_t_r_o_y_W_i_d_g_e_t performs the following:
-
- +o If the being_destroyed field of the widget is _T_r_u_e, it
- returns immediately.
-
- +o Recursively descends the widget tree and sets the
- being_destroyed field to _T_r_u_e for the widget and all
- children.
-
- +o Adds the widget to a list of widgets (the destroy list)
- that should be destroyed when it is safe to do so.
-
- Entries on the destroy list satisfy the invariant that if w2
- occurs after w1 on the destroy list then w2 is not a
- descendent of w1. (A descendant refers to both normal and
- pop-up children.)
-
- Phase two occurs when all procedures that should execute as
- a result of the current event have been called (including
- all procedures registered with the event and translation
- managers), that is, when the current invocation of
- _X_t_D_i_s_p_a_t_c_h_E_v_e_n_t is about to return or immediately if not in
- _X_t_D_i_s_p_a_t_c_h_E_v_e_n_t.
-
- In phase two, _X_t_D_e_s_t_r_o_y_W_i_d_g_e_t performs the following on each
- entry in the destroy list:
-
- +o Calls the destroy callback procedures registered on the
- widget (and all descendants) in post-order (it calls
- children callbacks before parent callbacks).
-
- +o If the widget's parent is a subclass of
- _c_o_m_p_o_s_i_t_e_W_i_d_g_e_t_C_l_a_s_s and if the parent is not being
- destroyed, it calls _X_t_U_n_m_a_n_a_g_e_C_h_i_l_d on the widget and
- then calls the widget's parent's delete_child procedure
- (see Section 3.4).
-
- +o If the widget's parent is a subclass of
- _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s, it calls the constraint destroy
- procedure for the parent, then the parent's superclass,
-
-
-
- Page 3 (printed 10/3/02)
-
-
-
-
-
-
- XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) XXXXttttCCCCrrrreeeeaaaatttteeeeWWWWiiiiddddggggeeeetttt((((3333XXXXtttt))))
-
-
-
- until finally it calls the constraint destroy procedure
- for _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s.
-
- +o Calls the destroy methods for the widget (and all
- descendants) in post-order. For each such widget, it
- calls the destroy procedure declared in the widget
- class, then the destroy procedure declared in its
- superclass, until finally it calls the destroy
- procedure declared in the Core class record.
-
- +o Calls _X_D_e_s_t_r_o_y_W_i_n_d_o_w if the widget is realized (that
- is, has an X window). The server recursively destroys
- all descendant windows.
-
- +o Recursively descends the tree and deallocates all pop-
- up widgets, constraint records, callback lists and, if
- the widget is a subclass of _c_o_m_p_o_s_i_t_e_W_i_d_g_e_t_C_l_a_s_s,
- children.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- XtAppCreateShell(3Xt), XtCreatePopupShell(3Xt)
- _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
- _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4 (printed 10/3/02)
-
-
-
-